package dryven.request.controller.paramtransform;

import java.lang.annotation.Annotation;

import dryven.request.http.Request;
import dryven.request.http.Response;

public interface ActionParameterBindCandidate extends ActionParameterSerializer {
	public void apply(Class<?> type, Annotation[] annotations, Object currentValue, Request request, Response response, ActionParameterTransformFeedback feedback);
	public boolean canApply(Class<?> type, Annotation[] annotations);
	public boolean isValueGenerator();
	/** If value generator returns true, you don't implement this method and just return null */
	public String serializeParameter(Object o);
}
